987 research outputs found

    PANDAcap: A framework for streamlining collection of full-system traces

    Get PDF
    Full-system, deterministic record and replay has proven to be an invaluable tool for reverse engineering and systems analysis. However, acquiring a full-system recording typically involves signifcant planning and manual effort. This represents a distraction from the actual goal of recording a trace, i.e. analyzing it. We present PANDAcap, a framework based on PANDA full-system record and replay tool. PANDAcap combines off-the-shelf and custom-built components in order to streamline the process of recording PANDA traces. More importantly, in addition to making the setup of one-off experiments easier, PANDAcap also caters to the streamlining of systematic repeatable experiments in order to create PANDA trace datasets. As a demonstration, we have used PANDAcap to deploy an ssh honeypot aiming to study the actions of brute-force ssh attacks

    Grand Pwning Unit:Accelerating Microarchitectural Attacks with the GPU

    Get PDF
    Dark silicon is pushing processor vendors to add more specialized units such as accelerators to commodity processor chips. Unfortunately this is done without enough care to security. In this paper we look at the security implications of integrated Graphical Processor Units (GPUs) found in almost all mobile processors. We demonstrate that GPUs, already widely employed to accelerate a variety of benign applications such as image rendering, can also be used to 'accelerate' microarchitectural attacks (i.e., making them more effective) on commodity platforms. In particular, we show that an attacker can build all the necessary primitives for performing effective GPU-based microarchitectural attacks and that these primitives are all exposed to the web through standardized browser extensions, allowing side-channel and Rowhammer attacks from JavaScript. These attacks bypass state-of-the-art mitigations and advance existing CPU-based attacks: we show the first end-to-end microarchitectural compromise of a browser running on a mobile phone in under two minutes by orchestrating our GPU primitives. While powerful, these GPU primitives are not easy to implement due to undocumented hardware features. We describe novel reverse engineering techniques for peeking into the previously unknown cache architecture and replacement policy of the Adreno 330, an integrated GPU found in many common mobile platforms. This information is necessary when building shader programs implementing our GPU primitives. We conclude by discussing mitigations against GPU-enabled attackers

    Defeating software mitigations against rowhammer:A surgical precision hammer

    Get PDF

    Confuzz—a concurrency fuzzer

    Get PDF

    Beyond procedure's content: Cognitive subjective experiences in procedural justice judgments

    Get PDF
    Procedural justice concerns play a critical role in economic settings, politics, and other domains of human life. Despite the vast evidence corroborating their relevance, considerably less is known about how procedural justice judgments are formed. Whereas earlier theorizing focused on the systematic integration of content information, the present contribution provides a new perspective on the formation of justice judgments by examining the influence of accessibility experiences. Specifically, we hypothesize that procedural justice judgments may be formed based on the ease or difficulty with which justice-relevant information comes to mind. Three experiments corroborate this prediction in that procedures were evaluated less positively when the retrieval of associated unfair aspects was easy compared to difficult. Presumably this is because when it feels easy (difficult) to retrieve unfair aspects, these are perceived as frequent (infrequent), and hence the procedure as unjust (just). In addition to demonstrating that ease-of-retrieval may influence justice judgments, the studies further revealed that reliance on accessibility experiences is high in conditions of personal certainty. We suggest that this is because personal uncertainty fosters systematic processing of content information, whereas personal certainty may invite less taxing judgmental strategies such as reliance on ease-of-retrieval

    Type-after-type:Practical and complete type-safe memory reuse

    Get PDF
    Temporal memory errors, such as use-after-free bugs, are increasingly popular among attackers and their exploitation is hard to stop efficiently using current techniques. We present a new design, called Type-After-Type, which builds on abstractions in production allocators to provide complete temporal type safety for C/C++ programs-ensuring that memory reuse is always type safe-and efficiently hinder temporal memory attacks. Type-After-Type uses static analysis to determine the types of all heap and stack allocations, and replaces regular allocations with typed allocations that never reuse memory previously used by other types. On the heap, Type-After-Type splits available memory into separate pools for each type. For the stack, Type-After-Type efficiently implements type-safe memory reuse for the first time, pushing variables on separate stacks according to their types, unless they are provably safe (e.g., their address is not taken), in which case they are zero-initialized and kept on a special stack. In our evaluation, we show that Type-After-Type stops a variety of real-world temporal memory attacks and on SPEC CPU2006 incurs a performance overhead of 4.3% and a memory overhead of 17.4% (geomean)
    • …
    corecore